package com.interview.rule;

import com.netflix.client.config.IClientConfig;
import com.netflix.loadbalancer.AbstractLoadBalancerRule;
import com.netflix.loadbalancer.Server;
import org.springframework.stereotype.Component;

/**
 * Created by fangjicai on 2020/4/10.
 */
//@Component
public class MyRule extends AbstractLoadBalancerRule {

    @Override
    public void initWithNiwsConfig(IClientConfig clientConfig) {
        //DO NOTHING
    }

    @Override
    public Server choose(Object key) {
        //一般的自定义负载均衡场景，如灰度发布
        //灰度发布 10%的流量在新的功能，90%在旧的功能上
        //定义一个新功能的ServerList
        //每次请求进入，判断对应的客户端是不是已经访问过新的ServerList
        //如果是，则直接访问新的ServerList
        //如果不是，则继续后续判断
        return null;
    }
}
